package com.zndroid.gridview.inner.drag;

import android.view.View;

/**
 * 拖拽过程特定区域状态监控
 *
 * @author lzy
 */
public interface OnItemTriggerListener {
    /**
     * 选中某一项
     *
     * @param draggedView current drag view
     * @param position    current drag position
     */
    void onItemHoldUp(View draggedView, int position);

    /**
     * 释放选中项
     *
     * @param draggedView current drag view
     * @param position    current drag position
     */
    void onItemHoldReleased(View draggedView, int position);

    /**
     * 拖拽到指定区域内释放
     *
     * @param draggedView current drag view
     * @param position    current drag position
     */
    void onDragInReleased(View draggedView, int position);

    /**
     * 拖拽到了指定区域（边界触发）
     *
     * @param draggedView current drag view
     * @param position    current drag position
     */
    void onDragIn(View draggedView, int position);

    /**
     * 拖拽到了区域之外（边界触发）
     *
     * @param draggedView current drag view
     * @param position    current drag position
     */
    void onDragOut(View draggedView, int position);
}
